package cn.buk.tms.eotms.dao;

import cn.buk.tms.eotms.entity.*;
import cn.buk.tms.eotms.sc.SearchBillInfoCriteria;
import cn.buk.tms.eotms.sc.SearchSettlementCriteria;

import java.util.List;

/**
 * @author yfdai
 */
public interface BillDao {

  List<BillInfo> searchBills(int ownerId, int customerId, SearchBillInfoCriteria sc);

  BillInfo getBillInfo(int id);

  List<BillFlightTicket> searchBillFlightTickets(int ownerId, String billNum);

  List<BillFlightRefundTicket> searchBillFlightRefundTickets(int ownerId, String billNum);

  List<BillChangeOrder> searchBillChangeOrders(int ownerId, String billNum);

  List<BillTrainTicket> searchBillTrainTickets(int ownerId, String billNum);

  List<BillHotelBooking> searchBillHotelBookings(int ownerId, String billNum);

  List<BillVasOrder> searchBillVasOrders(int ownerId, String billNum);

  List<SettlementSheet> searchSettlements(int ownerId, int customerId, SearchSettlementCriteria sc);

  SettlementSheet getSettlementSheetById(int id);

  List<BillVasOrder> searchVasOrdersBySettlementNo(int ownerId, String settlementNo);

  List<BillHotelBooking> searchHotelOrdersBySettlementNo(int ownerId, String settlementNo);

  List<BillTrainTicket> searchTrainTicketsBySettlementNo(int ownerId, String settlementNo);

  List<BillFlightTicket> searchTicketsBySettlementNo(int ownerId, String settlementNo);

  List<BillFlightRefundTicket> searchRefundsBySettlementNo(int ownerId, String settlementNo);

  List<BillChangeOrder> searchChangesBySettlementNo(int ownerId, String settlementNo);
}
